Потому что огромный Нестандартные объекты может тысяч или больше или Спелл герой до 100 уровень.
из них 60 загрузка просто висит на 1/5.
Если нетак? Проверь если есть файлы war3map.j папка Game\WarcraftIII, надо удалить файл. очень давно тоже 1 раз что за вылет или неправильно выполняет триггер.
Есть способы ускорить загрузку карты не экономя в редакторе объектов
Есть Widgetizer, там очень быстрая загрузка игра, но плохо работает спелл или текст.
Какие именно эффекты в модели дублировал, а какие создал с нуля? Надо попытаться сравнить эти эффекты, сохранив модель в формат mdl и открыв в блокноте. Может быть дело даже не в самих эффектах, а в упоминании где-то их ID.
Adantarn, запускай редактор в совместимости с Windows 7. Ещё перезагрузи компьютер (именно перезагрузи, а не выключи и включи).
Также дело может быть в настройках графики. Выкрути их в игре на максимум или в редакторе, убрал галку "Использовать настройки игры" и поставив свою конфигурацию.
Если всё это не поможет, то удаляй всех юнитов и расставляй их уже на новом компьютере.
PT153:
Вспомнил про один баг. Есть сделать PauseTimer() на периодический таймер, а потом на этой таймер использовать ResumeTimer(), то таймер повторит свой цикл лишь раз, а потом остановится.
сам не пользуюсь ResumeTimer, но щас проверил, действительно не работает что-то. Видимо, это работает только тогда, когда таймер не до конца дошел.
можно обойтись и без ResumeTimer
понимаю, ты хочешь сделать какое-то ограничение после возвращения урона. Спустя 3 секунды возвратка может снова возвращать урон.
Можно было сделать по-другому.
Еще не понимаю, зачем нам нужен периодический таймер.
можем логическую переменную b завести и таймер t
нанес противник урон = проверяем логическую переменную, если истина, запускаем одноразовый таймер, и ставим ложь в логической переменной = false
if b then
call DestroyEffect(AddSpecialEffectTarget("Abilities\\Spells\\Human\\ThunderClap\\ThunderClapCaster.?mdl",u,"origin"))
call UnitDamageTarget(udg_u,u,r*5,false, false, ATTACK_TYPE_CHAOS, DAMAGE_TYPE_UNIVERSAL, WEAPON_TYPE_WHOKNOWS)
call BJDebugMsg("Reflected:"+R2S(r*5))
call TimerStart(udg_t,0.5,false,function t3a)
set b = false
endif
когда таймер запустится
function t3a takes nothing returns nothing
call PauseTimer(udg_t)
set b = true
endfunction
думаю все что надо это call ResumeTimer() заменить на call TimerStart()
Ну если у тебя через локалку что-то неправильно иногда работает, значит просто у тебя где-то ошибка (или ты вообще делаешь это не так).
Для того что бы работать парой таймер+юнит впринципе то больше ничего и не нужно - таймер и сам юнит. Но если у тебя должно запускаться параллельно несколько точно таких же таймеров, то тут может подойти массив таймеров (и массив юнитов). При срабатывании одного из таймеров ты можешь ссылаться на юнита записанного под тем же индексом массива ( unit[X] и timer[X] соответственно).
А ещё в триггер можно добавлять события на срабатывания новых таймеров.
E: Unit starts the effect of an ability.
C: Ability being cast =
A: Set Casting unit Life to (Life of Casting unit + 200).
Вот скрин настройки действия.
Сначала просто создай способность на основе способности "Канал" и в разрешённых целях поставь те, к кому она может прыгать. Потом сделай способность на основе "Ауры выносливости" Вождя минотавров и сделай разрешенные цели - только сам герой. Затем создай способность на основе "Книги заклинаний" и положи в эту книгу свою другую созданную способность. Сделай 2 триггера - 1-ый реагирует на применения твоего скилла - телепортирует героя к цели способности, даёт мортре способность на основе книги заклинаний, блокирует для игрока мортры эту способность на основе книги заклинаний и запускает новую переменную таймера на время действия бонуса к атакспиду.
2-й триггер реагирует на истечение таймера - разблокирывает и удаляет способность на основе книги заклинаний у мортры. Всё
В триггерах тип действий "Камера". Если конкретно расстояние до цели надо поменять, то "Камера - Установить Поле Камеры (Время)" ("Камера - Set Camera Field (Timed)").
Вероятнее всего, ты повышаешь камеру выше скайбокса.
Вероятные решения проблемы:
а) Уменьшить самих юнитов и стилизовать ланд под маленькие модели.
б) Вставить нестандартный скайбокс с огромным размером.
(я бы выбрал первый вариант, потому что он круче)
koloff, а что больше 10000 не прописывается? я знаю, что настройки тонкая вещь, и там могут быть ограничения. Пока я сам не пробовал просматривать объекты с такой дальностью.
Можно создать скрытый спеллбук и поместить способности туда. Берем способность предмета "Книга заклинаний", добавляем в нее уворот и крит, даем нужному юниту и запрещаем триггерно эту способность для владельца юнита.
В способности героя добавляются способности с галочкой, что они геройские, а в возможные способности добавляются способности воина или предмета (хотя через шифт можно любую способность в эти параметры пихнуть). Предполагаемое отличие в прокачке, изначально геройские недоступны, но прокачиваемы с уровнем, а возможные способности изначально доступны, но прокачиваемы триггерно. Хотя я не проверял что будет если пихнуть способность воина с уровнями на место геройских абилок
похоже более всего на мусор, попадающий в память откуда-то извне. Обычно пропущенная строка автокаста такой фигней страдает. Нельзя точно сказать, нужно менять поля и смотреть. К счастью, описания можно менять и локально, не перепаковывая карту
На карте нет ни одной декорации, нижняя поверхность collision box которой не погружена в террейн целиком, так что можно предположить, что нижняя поверхность попросту не обсчитывается физической моделью.
Из всего этого я могу сделать вывод, что в каждой декорации дополнительно к её координатам хранится только длинна стороны её collision box (вернее, её половина)
я уже точно не помню но как припомнил там суть что идёт евент входа в регион соответсвенно регион дефайнит ХУ оси и отдельно есть мин/макс екстенды этого объекта и поидеи всё. юнит входит в регион чекается где он. скорее всего в движке движения юнита есть "потолок" и "пол"
function Trig_Doodads_Actions takes nothing returns nothing
set ax=35
call CreateHWRectBR(-8174,-3900,-7914,-3639,1054,1679)
это я для теста делал т.е. по этому "в 3д" можно бегать (спиральная лестница)
if xux.hwmaxz!=0 and xux.hwmaxz-rr>xux.Zsize then//mhg>xux.Zsize then
это чек на сабж потолка
мне просто лень настраиваеть ворледитор и тулы что бы запустить АОС с той лестницей и сделать видео с демо.
с другой стороны возможно позже и сделаю.
система максимально простая что бы вц3 не обсирался там жасс и так еле дышит.
JPNG и используешь стандартные функции. Есть еще Zephir и HiveWE, но там немножко будет гемморно. Unlimited давно использовался до JPNG, там вагон фич для ГУИ, но там надо вкуривать и изучать. А ломал сей редактор карты из-за функций интеграции нестандартных функций в функции карты для работы в редакторе(извиняюсь за тавтологию).
ставишь x на 0 ставишь y на -11 и вуаля ионка скрыта спелл работает, но учитывай то что за приказ он время тратить будет если ты отдал другйо приказ во время каста он не срабоатет у меня так захват портала рабоатет
а способ выше некоторые способности не работают только x 0 и y -11 робит
У твоей модели, которая добавляется, вероятно есть нестандартные текстуры. Нужно правильно расположить модель относительно ее текстур. Насколько я помню, я их располагал в одну папку и, вроде как, работало.
У твоей модели, которая добавляется, вероятно есть нестандартные текстуры. Нужно правильно расположить модель относительно ее текстур. Насколько я помню, я их располагал в одну папку и, вроде как, работало.
Есть проверка IsUnitDead, где проверяется тип и состояние IsUnitType(u, UNIT_TYPE_DEAD) но никогда не было проблем с проверкой хп.
Так же насколько я помню GetWidgetLife( unit ) > 0.0 или GetUnitState( unit, UNIT_STATE_LIFE ) > 0.405.
Это событие срабатывает лишь при старте карты, чтобы сделать срабатывание, когда после потасовки остаётся один юнит, логично было бы сделать событие Generic unit Умирает. В условии учитываются не только живые юниты, но и их трупы, пока не разложатся, то есть будет срабатывать событие юнит Умирает, в условии юнитов в области будет больше 1, так как будут считаться мёртвые юниты, триггер так и не будет срабатывать, если через минуту какой-то юнит на карте не умрёт. Потому в условии нужно указывать не просто юнитов в области, а юниты в области matching condition, где поставишь (Matching unit) is alive равно Да. А чтобы не учитывались здания и призванные юниты, нужно вместо условия (Matching unit) is alive равно Да выбрать в низу списка And, появится два условия, в первое ставишь (Matching unit) is alive равно Да, во второе опять And и аналогично выбираешь, (Matching unit) is Здание равно Нет и что-то такое же на призванных (summon).
Только в действии тоже укажи, что живой, не Здание и не призванный, а то кого-то из них может убить.
триггерно все делать, если ставить такой вопрос. Мы уже не сможешь механику вара изменить, если приказом "стоп" перебивается заклинание, значит, start effect of ability не сработал. Именно, в этот момент происходит забор маны
Все картоделы не могут ответить, но кто сталкивался, может ответить. Это надо тестить.
если у вас даймик, то нужно убрать у него анимации , тогда у даймика не будет задержек и заклинания сработают сразу, без задержек
графика - Анимация: Точка броска и Графика - Анимация: Обратный ход броска
Art - Animation - Cast Point (Real)
Art - Animation - Cast Backswing (Real) ссылка
Ты прав, проблема в том что это здание. Убирая галочку ты не делаешь ничего.
Для начала в порошке в целях укажи здания и древа, если ты хочешь чтоб он работал по зданиям.
Можешь создавать локальный таймер и вязать всё на него через его хендл и запускать (по завершению отсчтёта таймер выполняет указанную в нём безаргументную и невозвращающую функцию).
При вызове функции из таймера, в ней можно на него ссылаться => получать его хендл. То есть информацио о таймере ты передаёшь по факту самим фактом его использования.
Только не забывай убивать после использования таймер и чистить переменные, разумеется.
И если набегут с криками "кококо, плодить таймеры - зло!", смело отправляй их в 2004 с хекс эдитором и счётчиком тактов процессора.
Если эти юниты здания и всю игру они должны стоять в одном месте, просто иногда перемещаться куда-то там, то можешь при постройке/создании/заранее (что актуальнее - подчеркните) записывать его координаты и вообще забивать на ХТ.
разницы никакой нет. но в первом, и во втором скрине утечки. в первом даже неправильно устраняют утечки. точки и нулить глобалки смысла нет.
юзаются полярки, радиус не меняется, разве, что угол вектора. к примеру в первом варианте 1x18 = 18 гр.
в след такте 2x18=36 гр
Я юзал морф, а не грейд. Грейд был в другой наработке, и там не было проблем с анимацией. В наработке с морфом нет никаких вейтов.
Всё остальное какая-то ерунда, какие переменные? Грейд делается и всё.
Отмена для меня преимущество такое себе
И тем не не менее, отменять грейд тебе нужно, потому преимущество вполне себе.
Я больше-то вот как раз вышеупомянутые баги имел в виду
Эффекты аур могут остаться на юните, с героями ещё хуже. Так-то всё написано тут, пункт 19.
Событие "применяет способность" произойдет только если вручную нажать на способность ледяной стрелы и на врага. При авто атаках событие работать не будет.
В будущем для проверки таких моментов пользуйтесь дебагом. В данном случае нужно отключить условие и выводить имя юнита тригера, тогда бы вы увидели что когда примнешь способность имя юнита выводится в чат, а когда он автоатачит, то имя не выводится, что означало бы что триггер не срабатывает, не срабатывает событие
Ну я не люблю дамми снаряды для направленных способностей, с ними много проблем... в общем юзаю кислотную бомбу и молот бурь, отлавливают попадание по урону в 0 ед. баффу.
Громовая поступь говённая способность для дамми скиллов, деформирует рельеф (это никак не убрать) лучше использовать молот бурь на каждого или ракетный удар, эти способности более гибкие в настройке и не дают не удаляемых эффектов.
Урон лучше всего наносить триггерно от имени кастера независимо что это может сделать и даммик, так сразу мы решим несколько багов - нейтралы будут разбегаться а не агрится на кастера (даммик то неуязвим), способности вроде Blade mail из доты (возвращает урон обратно) не будут работать корректно, а так же многое другое что проверяет убийцу и нанесшего урон.
Значит что нам нужно, летающий дамми юнит (делаем его из светлячка ночных эльфов) - модель Dummy.mdx (требуется скачать и импортировать в карту), обзор в 0, еду, стоимость в 0, хп\мп 1005000 (неважно), способности (москиты и усе, ну можно Неуязвимый нейтральный или как фрог маркер, чисто чтобы потом отьсеивать даммиков, магазины, и тому подобное проверяя на наличие этой способности)
Высота полета 0, тип летающий, угол крена в 0 град. убираем все спецэффекты при смерти и усе.
Триггерно двигай даммика прикрепив к нему спецэффект снаряда, когда до цели не останется расстояния убивай дамми и удаляй спецэффект, выбирай юнитов в области вокруг цели, потом исключи цель из группы и нанеси ей урон, после половинный (или какой там у тебя) урон всем остальным, потом создай даммика, вручи ему ракетный удар и прикажи выстрелить им по области под целью, все очень просто!
Stigmator, В смысле? Он есть и стоит на краю карты. Также действие "Damage unit" приказывает нанести урон не заклинанием, а обычным ударом с дополнительными параметрами.
Пардон, моя ошибка :) Попробуй поменять "Targeted unit" на "Spell Target unit" или как оно называется без руссификатора.
что вы такого сделали что у вас не убирается? есть станд. способности абилыраздел разведка
Есть близзардские нативки:
IsUnitVisible - проверка: юнит видим ли игроком
IsUnitInvisible - проверка: невидим ли юнит для игрока
IsUnitDetected - проверка: юнит обнаружен игроком
IsLocationVisibleToPlayer или IsVisibleToPlayer - проверка: видима ли точка игроком UnitShareVision - поделиться обзором юнита с другим игроком. Короче другой игрок видит, что делает чужой юнит. Вам нужна именно эта нативка это наверное в гуи в разделе "юнит"
если имеете в виду общий обзор между игроками. то это в разделе союза между игроками (в гуи раздел игрок). но это распространяется на всех юнитов
Maniac_91, область это хэндл а значит утекает
максимального количества областей ограничивается количеством оперативной памяти (до 2 гигов вроде) и максимальным количеством хэндлов (2 в 32 степени)
больше ни чем EnergyFrost:
Максимум что тебя ожидает- лаги, которые ты получишь из-за утечек, работая с этими областями. Так что старайся не наплодить утечек и все будет окей.
как правило работа со статичными областями не вызывает утечек (если их не копировать)
ограничений на декорации тоже нету к слову (если не юзать устаревший редактор)
Через txt команды заменить атаку на патруль, либо скрыть через мемхак, или делать юнит нетральный и дать ему канал приказа и будет иметь 12 способностей это смотря как вам удобно!
Если способности на прямую героя то можете настраивать порядок, а если через спелбук то нужно прелоад делать
Каждый новый хеш-тейбл инициализируется заново и остаётся висеть в оперативке до удаления из скрипта карты или до завершения игры (по крайней мере, мне так помнится). Операции выделения памяти довольно тяжёлые сами по себе, но куда значимее тот факт, что пересоздание и плождение таблиц - абсолютно бессмысленные операции по своей сути, они не несут вообще никакого положительного выхлопа.
Алексей777; WEU устарела и не работает с редакторами 1.21+. Карта сохранённая в 1.26 вряд-ли запустится в 1.21. Стоит бросить это дело. Если карта делается с нуля, то можно начать с 1.31, там есть возможность добавить 16 текстур ландшафта.
Вроде бы удалось решить проблему самостоятельно. Ошибка действительно была элементарной - идентификатор не устраивал введённый туда заглавный символ, а я не знал об этом. Простите за беспокойство.
Гуванч, когда игрок кликает на юнита проверяешь, что кликнутый юнит равен прошлому под индексом игрока и булевая под индексом игрока тоже равна да, меняешь юнита, иначе - показываешь информацию о юните, переменишь его, устанавливаешь булевую на да и запускаешь таймер, который выставит булевую обратно на нет
и прекрати полное сообщение пересылать, просто нажми на ник человека)
» WarCraft 3 / Отменить телепортацию
» WarCraft 3 / Почему вылетает редактор ?
» WarCraft 3 / Таймеры срабатывание триггера
» WarCraft 3 / Как на этом сайте скачать модель?
» WarCraft 3 / Помогите сделать способность
» WarCraft 3 / МОДЕЛЬ
» WarCraft 3 / Камера
» WarCraft 3 / Какие способности дать герою ?
» WarCraft 3 / А где играть то?
» WarCraft 3 / Вопрос по разрушаемым объектам
» WarCraft 3 / Описания в WarCraft 3
» WarCraft 3 / Как скрыть иконку способности
» WarCraft 3 / Помогите сделать древисину общую между игроками
» WarCraft 3 / Помогите создать в магическом кругу стену
» WarCraft 3 / Проблема с условием
» WarCraft 3 / Переделать юнита
» WarCraft 3 / Одинаковие способности
» WarCraft 3 / Не работает триггер
» WarCraft 3 / Тригерная способность
» WarCraft 3 / Бред
» WarCraft 3 / Максимальное количество
» WarCraft 3 / Добавление текстур
» WarCraft 3 / Наличие баффа